Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Brazil F10 Brazil F11 Venezuela F5 Brazil F16 Brazil F18 Colombia F1 Colombia F2 Colombia F3 Russia F3 Venezuela F1 Venezuela F2 Brazil F14 Brazil F15 Nicaragua F1 El Salvador F2 Brazil F23 Brazil F24 Nigeria F3 Nigeria F4 Colombia F1 Colombia F2 Spain F12 Spain F13 Russia F2 Colombia F3 Colombia F4 Brazil F5 Brazil F6 Brazil F7 Brazil F8 Ukraine F3 Austria F4 Austria F5 Austria F6 Venezuela F4 Venezuela F5 Venezuela F6 Russia F3 Russia F5 Russia F6 Spain F11 Venezuela F8 Venezuela F9 Ivory Coast F1 Ivory Coast F2 Russia F1 Russia F2 Venezuela F1 Venezuela F2 Venezuela F3 Usa F12 Usa F13 Colombia F3 Russia F3 Colombia F4 Colombia F5 Bosnia & Herzegovina F2 Italy F1 Kazakhstan F1 Italy F2 Kazakhstan F2 Italy F3 France F6 France F7 Italy F6 Italy F12 Italy F14 Italy F15 Italy F21 Italy F22 Venezuela F5 Venezuela F6 Colombia F1 Colombia F2 Spain F7 Turkey F9 Turkey F10 Turkey F11 Turkey F12 Italy F6 Italy F7 Italy F9 Italy F10 Ecuador F4 Ecuador F5 Colombia F3 Colombia F4 Colombia F5 Chile F1 Chile F3 Spain F14 Italy F20 Colombia F3 Colombia F4 Brazil F7 Colombia F3 Colombia F4 Venezuela F4 Colombia F5 Colombia F6 Brazil F9 Brazil F17 Colombia F2 Canada F1 (Gatineau) Canada F2 (Sherbrooke) M15 Sunrise Colombia F3 M25 Tulsa M15 Horgen M25 Oviedo M25 Madrid Colombia F4 M25 Weston M25 Palm Coast M25 Naples M25 Iowa City M25 Naples M25 Naples M25 Pensacola M25 Santo Domingo Colombia F1 M25 Marburg M25 Denia M25 Muttenz M25 Caslano M25 Aparecida de Goiania M25 Cancun M25 Cancun M25 Anapoima M25 Jakarta Challenger Ciudad de Guayaquil - Guayaquil M25 Mumbai M25 Medellin M25 Jakarta M15 Tianjin Seguros Bolivar Open - Bogota M25 Tianjin M25 Champaign XIV Challenger ATP Club Premium Open - Quito Seguros Bolivar Open - Cali Bancolombia Open - Cali Seguros Bolivar Open - Medellin Salinas Challenger Szczecin Challenger Bucaramanga Challenger Korat Challenger San Luis Potosi Challenger Pereira Challenger IPP Open - Helsinki Penza Challenger Saransk Challenger Geneva Challenger Cali Challenger Bogota Challenger Ljubljana Challenger Tiburon Challenger Calabasas Challenger Astana Challenger Bancolombia Open - Bogota Medellin Challenger San Remo Challenger Cremona Challenger Fergana Challenger Rome Challenger Bogota Challenger Quito Challenger Seville Challenger Cali Challenger Seguros Bolivar Open - Medellin Quito Challenger Casablanca Challenger Braunschweig Challenger Bogota Challenger Orbetello Challenger Manta Challenger Segovia Challenger Seville Challenger Copa Petrobras Bogota - Bogota Cali Challenger Aguascalenties Challenger Tiburon Challenger Geneva Challenger BH Tennis Open - Belo Horizonte Heilbronn Challenger Bucaramanga Challenger Geneva Challenger - Geneva Quimper Challenger Meknes Challenger Casablanca Challenger Salinas Challenger Marrakech Challenger Barranquilla Challenger San Luis Potosi Challenger Rome Challenger Penza Challenger Cordenons Challenger Salinas Challenger St. Remy Challenger Guayaquil Challenger Loughborough Challenger Tyumen Challenger Bucaramanga Challenger Biella Challenger Zagreb Challenger Kazan Challenger Milan Challenger Orbetello Challenger Furth Challenger Blois Challenger Manta Challenger Kosice Challenger San Marino Challenger Todi Challenger Karlsruhe Challenger Bogota Challenger Portoroz Challenger Medellin Challenger Sao Paulo Challenger Aptos Challenger Rio De Janeiro Challenger Guayaquil Challenger V Manta Open-Trofeo Ricardo Delgado Aray - Manta Kaoshuing Challenger Tashkent Challenger Sao Jose Do Rio Preto Challenger Kazan Challenger President's Cup - Astana IV Challenger Ciudad De Guayaquil - Guayaquil Tyumen Challenger Sao Paulo Challenger Heilbronn Challenger Bucaramanga Challenger Chennai Challenger Kolkata Challenger New Delhi Challenger St. Brieuc Challenger Seguros Bogota Open - Bogota Tunis Challenger Winnetka Challenger Portoroz Challenger Aptos Challenger Izmir Challenger Tashkent Challenger Cordoba Challenger IPP Open - Helsinki Monza Challenger Guayaquil Challenger Santiago Challenger Kazan Challenger Raanana Challenger Como Challenger Marburg Challenger Todi Challenger Segovia Challenger Barranquilla Challenger Pereira Challenger Agri Challenger Tashkent Challenger Lima Challenger Pune Challenger Bucaramanga Challenger Sarajevo Challenger Irving Challenger Raanana Challenger Aix En Provence Challenger Barranquilla Challenger Monterrey Challenger M25 New Delhi Ortisei Challenger Brescia Challenger Zhuhai Challenger Savannah Challenger Prostejov Challenger M25 Lucknow Medellin Challenger Astana Challenger Granby Challenger Chengdu Challenger Astana Challenger Fairfield Challenger Cali Challenger Noumea Challenger Binghamton Challenger Guadalajara Challenger Nanchang Challenger Leon Challenger Milan Challenger Astana Challenger Madrid Challenger Calgary Challenger St. Brieuc Challenger Nottingham Challenger Columbus Challenger Nottingham 1 Challenger Vicenza Challenger Furth Challenger Segovia Challenger Salinas Challenger Guadalajara Challenger Ilkley Challenger Jinan Challenger Floridablanca Challenger Blois Challenger Iasi Challenger Sao Paulo Challenger Morelos Challenger Buenos Aires Challenger Moscow Challenger Khanty-Mansiysk Challenger Padova Challenger Alessandria Challenger Vancouver Challenger Saransk Challenger Manerbio Challenger Como Challenger Seoul Challenger Savannah Challenger Medellin Challenger St. Remy Challenger M25 Dallas Seguros Bolivar Open - Medellin Pereira Challenger Astana Challenger Cali Challenger Sao Paulo Challenger Bratislava Challenger Bucaramanga Challenger M25 Hua Hin San Luis Potosi Challenger Bucaramanga Challenger Bratislava Challenger Taipei City Challenger Santo Domingo Challenger Anning Challenger Meknes Challenger Salinas Challenger Puerto Vallarta Challenger M25 New Delhi Karshi Challenger Sarasota Challenger Caltanissetta Challenger Fergana Challenger Astana Challenger Portoroz Challenger Rome Challenger L'Aquila Challenger Medellin Challenger Furth Challenger Bogota Challenger Indian Wells Challenger Cherbourg Challenger Ortisei Challenger Milan Challenger Santo Domingo Challenger Wroclaw Challenger Morelos Challenger Leon Challenger Le Gosier Challenger Ilkley Challenger Vicenza Challenger Kaohsiung Challenger Oberstaufen Challenger Guayaquil Challenger Recanati Challenger Morelos Challenger Indian Wells Challenger Astana Challenger Nur-Sultan 1 Challenger Bergamo Challenger Malaga Challenger Pozoblanco Challenger Medellin Challenger Stockton Challenger Tashkent Challenger Pune Challenger Prostejov Challenger Rennes Challenger Recanati Challenger Shenzhen Challenger Sarasota Challenger Bordeaux Challenger Sacramento Challenger Salinas Challenger Santiago Challenger Campinas Challenger Istanbul Challenger Rabat Challenger Cordenons Challenger Montevideo Challenger Newport Beach Challenger Guangzhou Challenger Hamburg Challenger Perugia Challenger Nonthaburi 3 Challenger Cary Challenger Tiburon Challenger Winnetka Challenger Las Vegas Challenger Busan Challenger Eckental Challenger Knoxville Challenger Houston Challenger Caltanissetta Challenger Orlando Challenger Columbus Challenger Punta Del Este Challenger Bergamo Challenger Braunschweig Challenger Phoenix Challenger Taipei City Challenger Bogota Challenger Busan Challenger Geneva Challenger - Geneva Pune Challenger Braga Challenger Gwangju Challenger Surbiton Challenger Orbetello Challenger Recanati Challenger Nur-Sultan Challenger Binghamton Challenger Cordenons Challenger Pozoblanco Challenger Seville Challenger Lima Challenger Guayaquil Challenger Astana Challenger Lugano Challenger Rio De Janeiro Challenger Salinas Challenger Helsinki Challenger Barranquilla Challenger Nottingham 2 Challenger Mallorca Challenger Ambato Challenger Bogota Challenger Guayaquil Challenger Campinas Challenger Bengalaru 1 Challenger Bengalaru 2 Challenger Pereira Challenger San Luis Potosi Challenger Tallahassee Challenger Troisdorf Challenger Credicard Citi Mastercard Tennis Cup 2007 - Campos do Jordao Nur-Sultan Challenger Nonthaburi 1 Challenger Nonthaburi 3 Challenger Istanbul Challenger Ismaning Challenger Brest Challenger Rovereto Challenger Pau Challenger Seoul Challenger Troyes Challenger IPP Open - Helsinki Guangzhou Challenger Shenzhen 2 Challenger Copa Petrobras Colombia - Bogota Nonthaburi 1 Challenger Nonthaburi 2 Challenger Nonthaburi 3 Challenger Chennai Challenger Bengaluru Challenger Shenzhen 1 Challenger Guangzhou Challenger Copa Petrobras Colombia - Bogota Wuxi Challenger Taipei Challenger Eckental Challenger Copa Petrobras-Colombia - Bogota Bogota Challenger Orleans Challenger Marrakech Challenger Bogota Challenger Manta Challenger Nur-Sultan Challenger Santo Domingo Challenger Brest Challenger Eckental Challenger Sacramento Challenger Montevideo Challenger Sao Paulo Challenger Canberra Challenger Geneva Challenger Zagreb Challenger Monza Challenger Prague Challenger Istanbul 2 Challenger Zagreb Challenger Ostrava Challenger Lima Challenger Rome Challenger Bordeaux Challenger Rio De Janeiro Challenger St. Petersburg Open - St. Petersburg Serbia Open - Belgrade Heineken Open - Auckland Kazan Challenger Serbia Open - Belgrade Open de Nice Cote d'Azur - Nice Kremlin Cup - Moscow Aircel Chennai Open - Chennai Apia International - Sydney Pereira Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo U.S. National Indoor Tennis Championships - Memphis Helsinki Challenger Nottingham Challenger Portugal Open - Oeiras Power Horse Cup - Dusseldorf Nottingham-2 Challenger Topshelf Open - 's-Hertogenbosch Claro Open Colombia - Bogota BB&T Atlanta Open - Atlanta Brasil Open - Sao Paulo Kremlin Cup - Moscow Aircel Chennai Open - Chennai Barcelona Open BancSabadell - Barcelona St. Petersburg Open - St. Petersburg Aircel Chennai Open - Chennai Caltanissetta Challenger Milan Challenger Interwetten Austrian Open - Kitzbuhel Mons Challenger Bucaramanga Challenger SkiStar Swedish Open - Bastad Kremlin Cup - Moscow Kazan Challenger Porto Alegre Challenger Zhangjiagang Challenger Geneva Challenger St. Petersburg Open - St. Petersburg Winston-Salem Open - Winston-Salem Medellin Challenger Belgrade Challenger San Juan Challenger Delray Beach Open - Delray Beach Samarkand Challenger ABN AMRO World Tennis Tournament - Rotterdam SAP Open - San Jose Dubai Duty Free Tennis Championships - Dubai Plava Laguna Croatia Open - Umag Santiago Challenger Kremlin Cup - Moscow Tiburon Challenger Mercedes Cup - Stuttgart Sofia Open - Sofia Little Rock Challenger BCR Open Romania - Bucharest Batman Challenger Porto Challenger Pereira Challenger Mersin Challenger Bogota Challenger Stockton Challenger Panama City Challenger Pereira Challenger SAP Open - San Jose US Men's Clay Court Championship - Houston AEGON Championships - London Citi Open - Washington Winston-Salem Open - Winston-Salem Winston-Salem Open - Winston-Salem Abierto Mexicano Telcel - Acapulco Montevideo Challenger Bogota Challenger Kremlin Cup - Moscow Kremlin Cup - Moscow Sao Paulo Challenger BMW Open - Munich Geneva Open - Geneva Ecuador Open - Quito Sao Paulo Challenger Tour Finals ATP Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg ATP Kremlin Cup - Moscow Helsinki Challenger Open Parc - Lyon Ricoh Open - 's-Hertogenbosch Happy Valley Challenger St. Petersburg Open - St. Petersburg Tata Open Maharashtra - Pune Kremlin Cup - Moscow St. Petersburg Open - St. Petersburg Kitzbuhel Challenger Astana Open - Nur-Sultan Mercedes Cup - Stuttgart St. Petersburg Open - St. Petersburg Sofia Open - Sofia Astana Open - Nur-Sultan BCR Open Romania - Bucharest Tata Open Maharashtra - Pune Heineken Open - Auckland Shanghai Challenger Ortisei Challenger Open Sabadell Atlantico - Barcelona Open Sabadell Atlantico - Barcelona Chengdu Open - Chengdu Sarasota Challenger China Open - Beijing Medellin Challenger Kremlin Cup - Moscow Heilbronn Challenger Grand Prix Hassan II - Casablanca Topshelf Open - 's-Hertogenbosch BMW Open - Munich Claro Open Colombia - Bogota Marburg Challenger Santiago Challenger Hua Hin Challenger Canberra Challenger Medellin Challenger Delray Beach International Tennis Championships - Delray Beach Vancouver Challenger BRD Nastase Tiriac Trophy - Bucharest PTT Thailand Open - Bangkok Bastad Challenger Bordeaux Challenger Chicago Challenger Granby Challenger Gatineau Challenger Royal Guard Open Chile - Vina del Mar Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Panama City Challenger Charlottesville Challenger Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Quimper Challenger Budapest Challenger San Marino Challenger BB&T Atlanta Open - Atlanta Tallahassee Challenger Cali Challenger Open 13 - Marseille Orleans Challenger Heineken Open - Auckland Nonthaburi 1 Challenger Dubai Duty Free Tennis Championships - Dubai Sao Paulo Challenger US Men's Clay Court Championship - Houston BRD Nastase Tiriac Trophy - Bucharest TEB BNP Paribas Istanbul Open - Istanbul Bogota Challenger Lexington Challenger Antalya Cup - Antalya Citi Open - Washington Santiago Challenger Millennium Estoril Open - Estoril Ecuador Open - Quito Drummondville Challenger ABN AMRO World Tennis Tournament - Rotterdam Grand Prix Hassan II - Marrakech Vicenza Challenger Barcelona Open BancSabadell - Barcelona Quito Challenger Aegon Nottingham Open - Nottingham Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Brasilia Challenger Columbus Challenger Campinas Challenger Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Hungarian Open - Budapest Millennium Estoril Open - Estoril Mexico City Challenger Blois Challenger Dubai Duty Free Tennis Championships - Dubai China Open - Beijing Ricoh Open - 's-Hertogenbosch Morelos Challenger Bet-at-home Open - Hamburg Citi Open - Washington St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Nonthaburi 2 Challenger Sydney International - Sydney Vancouver Challenger Bogota Challenger - Bogota L'Aquila Challenger Garanti Koza Sofia Open - Sofia Heilbronn Challenger New York Open - New York Cali Challenger Nonthaburi 2 Challenger Citi Open - Washington China Open - Beijing Prostejov Challenger Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Eckental Challenger Nur-Sultan 2 Challenger Marbella Challenger Belgrade Challenger Salinas 2 Challenger Bergamo Challenger Chengdu Open - Chengdu Florianopolis Challenger Tata Open Maharashtra - Pune St. Petersburg Open - St. Petersburg Segovia Challenger Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai Hall of Fame Open - Newport Truist Atlanta Open - Atlanta Citi Open - Washington Kremlin Cup - Moscow Skopje Challenger Vicenza Challenger Blois Challenger Sofia Open - Sofia Open Parc - Lyon St. Petersburg Open - St. Petersburg New Delhi Challenger Jinan Challenger Garanti Koza Sofia Open - Sofia Delray Beach International Tennis Championships - Delray Beach Kremlin Cup - Moscow Qatar ExxonMobil Open - Doha Delray Beach Open - Delray Beach Kremlin Cup - Moscow Swiss Indoors Basel - Basel Anytech365 Andalucia Open - Marbella Santiago Challenger Tallahassee Challenger Vilnius Challenger Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Sony Open Tennis - Miami Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Gwangju Challenger BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Bengalaru Challenger Istanbul Challenger Biella 2 Challenger Shenzhen 1 Challenger St. Petersburg Open - St. Petersburg Portugal Open - Oeiras Shenzhen Open - Shenzhen Claro Open Colombia - Bogota Serbia Open - Belgrade Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Rogers Cup - Montreal Miami Open - Miami Rogers Cup - Toronto Western & Southern Open - Cincinnati Astana Open - Astana Mutua Madrid Open - Madrid U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai U.S. Open - New York BNP Paribas Open - Indian Wells U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Miami Open - Miami U.S. Open - New York Coupe Rogers - Montreal Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London Abierto Mexicano de Tenis Mifel - Los Cabos French Open - Paris BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Miami Open - Miami Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai St. Petersburg Open - St. Petersburg St. Petersburg Open - St. Petersburg Brisbane International - Brisbane Gerry Weber Open - Halle Sydney International - Sydney Davis Cup, Group II, 1R, ESA-BAR 4-1 Davis Cup, Group I, 2R, GBR-RUS 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 2R, RUS-ESP 3-2 Davis Cup, Group I, 2R, CHI-COL 3-1 Davis Cup, World Group, PO, COL-CRO 1-4 Davis Cup, Group I, 2R, RUS-AUT 1-3 Davis Cup, Finals, Group D Davis Cup, Qualifiers, 1R, USA-COL 4-0 French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open (juniors) French Open (juniors) Wimbledon (juniors) French Open (juniors) Australian Open - Melbourne French Open - Paris All Lower level tournaments Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Olympics - Rio de Janeiro Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Davis Cup, Group I, 2R, URU-COL 2-3 Davis Cup, World Group, PO, CAN-COL 3-2 Davis Cup, World Group, PO, RUS-KAZ 3-1 Davis Cup, Group II, 2R, ESA-MEX 3-2 Davis Cup, Group I, PO, DOM-COL 1-4 Davis Cup, Group I, 1R, BAR-COL 0-4 Davis Cup, Group I, 1R, RUS-DEN 4-1 Davis Cup, Group I, 2R, COL-BRA 3-2 Davis Cup, World Group, QR, COL-SWE 4-0